home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / mint / mgr / sparcmgr / doc.zoo / doc / usrman / doc.3 < prev    next >
Encoding:
Text File  |  1989-03-28  |  19.7 KB  |  917 lines

  1. '\"                        Copyright (c) 1988 Bellcore
  2. '\"                            All Rights Reserved
  3. '\"       Permission is granted to copy or use this program, EXCEPT that it
  4. '\"       may not be sold for profit, the copyright notice must be reproduced
  5. '\"       on copies, and credit should be given to Bellcore where it is due.
  6. '\"       BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM.
  7. '\"
  8. '\"    $Header: doc.3,v 4.2 88/06/30 12:44:57 bianchi Exp $
  9. '\"    $Source: /tmp/mgrsrc/doc/usrman/RCS/doc.3,v $
  10. .Fh m_font n 
  11. .Fs m_font 6 "Change to a new font"
  12. Change to font
  13. .Fi n .
  14. The line positioning is adjusted to keep
  15. the baseline of the new and old fonts the same.
  16. Font numbers are small integers
  17. (currently no more than 15).
  18. Font 0 (zero) always refers to the built-in or
  19. .I default
  20. font.
  21. The actual fonts associated with the font numbers may be set in the \*M
  22. .I startup
  23. file, or changed by clients on the fly
  24. (see
  25. .Fr m_loadfont
  26. ).
  27. .Fe
  28. .Fh m_func mode 
  29. .Fs m_func 4 "Set the bit-blt and graphics drawing mode"
  30. .Fs m_func 5 "Set the bit-blt function"
  31. Set the drawing mode.
  32. This specifies the drawing mode for all
  33. .I graphics
  34. and
  35. .I bit-blt
  36. operations.
  37. The integer
  38. .Fi mode
  39. is one of 16 possible boolean combinations of
  40. the
  41. .I source
  42. and
  43. .I destination
  44. bit patterns.
  45. Combinations of bit patterns for which
  46. there is no
  47. .I source
  48. bitmap, such as
  49. .Fr m_bitwrite
  50.  or
  51. .Fr m_line
  52.  use the modes shown in the middle column of the following table.
  53. Several common
  54. .Fi mode s
  55. are specified for the bit patterns in which the source
  56. bitmap is relevent.
  57. .TS
  58. center box;
  59. c s s
  60. c | c | c
  61. l | l | l.
  62. Names for \fBbit-blt\fP modes
  63. _
  64. source    no source    comments
  65. =
  66. B_OR    B_SET    default
  67. B_COPY    B_CLEAR
  68. B_COPYINVERTED    B_INVERT
  69. B_XOR
  70. B_AND
  71.  
  72. .TE
  73. Alternately,
  74. .Fi mode
  75. may be derived with a boolean combination of
  76. .Fi B_SRC
  77. and
  78. .Fi  B_DST,
  79. thus
  80. .Fi B_OR
  81. is equivalent to
  82. .Fi ( B_SRC " \(br "  B_DST ).
  83. .Fe
  84. .Fh m_getchar
  85. .Fs m_getchar 2 "Read a character from \*M"
  86. The macro
  87. .Fr m_getchar
  88. is equivalent to the
  89. .I stdio
  90. routine
  91. .I getchar() ,
  92. except the character is retrieved from \*M via the file pointer
  93. .I m_termin
  94. instead of
  95. .I stdin.
  96. .Fe
  97. .Fh m_gets buff 
  98. .Fs m_gets 2 "Read a line from \*M"
  99. A line of characters is read from \*M and placed into
  100. .Fi buff .
  101. The macro 
  102. .Fr m_gets
  103. returns
  104. .SM
  105. .I NULL
  106. .LG
  107. if the connection to \*M is severed.
  108. The macro 
  109. .Fr m_gets
  110. is equivalent to the stdio
  111. .I fgets()
  112. call
  113. except input is retrieved from \*M.
  114. .Fe
  115. .Fh m_getinfo mode 
  116. .Fs m_getinfo 7 "Ask \*M for information"
  117. This function requests \*M to return information back to the client program.
  118. .Fi Mode
  119. specifies one of (currently) 16 different requests.
  120. Responses are always terminated with a 
  121. .I "new line"
  122. for single line responses, and with a pair of
  123. .I "new lines"
  124. for multi-line
  125. responses.
  126. Consequently, clients can request and process information requests
  127. using normal line mode processing.
  128. The following list of information requests is understood.
  129. .RS
  130. '\"    .IP \fBG_ALLFONT\fP 0.5i    Size information for all fonts.
  131. '\"    .br
  132. '\"    The
  133. '\"    .I width
  134. '\"    and
  135. '\"    .I height
  136. '\"    in pixels for a character in each font is listed in a space
  137. '\"    separated list.
  138. '\"    The first pair of numbers is the character size of font
  139. '\"    .B 0 ,
  140. '\"    the next pair for font
  141. '\"    .B 1 ,
  142. '\"    and so on.
  143. '\"    The first request for
  144. '\"    .Fi G_ALLFONT
  145. '\"    can be expensive, as it requires reading each font
  146. '\"    from the disk that has not yet been used.
  147. .IP \fBG_ALLMINE\fP 0.5i    Window status for alternate windows.
  148. .br
  149. Information about each window that may be written to by the client program
  150. is returned, one line of information per window, as a 
  151. list of space separated items.
  152. The first two items give the location of the top left
  153. corner of the window in
  154. .I display
  155. coordinates.
  156. The second two items give the 
  157. .I height
  158. and
  159. .I width
  160. of the window, 
  161. also in
  162. .I display
  163. coordinates.
  164. The next field contains the last two characters of the
  165. .I pseudo tty
  166. associated with each window.
  167. Normally the 
  168. .I pseudo tty
  169. is the same for each window reported.
  170. The next field contains the 
  171. .I "window id" ,
  172. which is 0 (zero)
  173. for the primary window, 
  174. and the value returned by the call to 
  175. .Fr m_makewindow
  176. for the other windows (if any).
  177. The final field contains the visual status of the window,
  178. which is either 
  179. .SM
  180. .I C_EXPOSED
  181. .LG
  182. ('e')
  183. if the window is completely visible,
  184. or
  185. .SM
  186. .I C_OBSCURED
  187. .LG
  188. ('o')
  189. if the window is partly or completely obscured.
  190. The window information is printed in order from
  191. .I front
  192. to 
  193. .I back .
  194. A sample line might look something like:
  195. .TS
  196. center box;
  197. c.
  198. 492 2 652 570 p6 2 o
  199. .TE
  200. which indicates that the window at
  201. .Fr "" 492 2
  202.  is 
  203. .Fi 652
  204. pixels
  205. .I wide
  206. and
  207. .Fi 570
  208. pixels
  209. .I high ,
  210. has a controlling
  211. .I pseudo tty
  212. of
  213. .I /dev/tty\fBp6\fP,
  214. is alternate window number
  215. .Fi 2,
  216. and is at least partially obscured.
  217. .IP \fBG_ALL\fP 0.5i         Status of all windows.
  218. .br
  219. Information about all windows
  220. is returned, one line of information per window, as a
  221. list of space separated items.
  222. The first two items give the location of the top left
  223. corner of the window in
  224. .I display
  225. coordinates.
  226. The second two items give the 
  227. .I height
  228. and
  229. .I width
  230. of the window, 
  231. also in
  232. .I display
  233. coordinates.
  234. The next field contains the last two characters of the
  235. .I pseudo tty
  236. associated with each window.
  237. Normally the 
  238. .I pseudo tty
  239. is the same for each window controlled by the same client.
  240. The next field contains the 
  241. .I "window id" ,
  242. which is 0 (zero)
  243. for a primary window, 
  244. and the value returned by the call to 
  245. .Fr m_makewindow
  246. for alternate windows.
  247. The final field contains the visual status of the window,
  248. which is either 
  249. .SM
  250. .I C_EXPOSED
  251. .LG
  252. ('e')
  253. if the window is completely visible,
  254. or
  255. .SM
  256. .I C_OBSCURED
  257. .LG
  258. ('o')
  259. if the window is partly or completely obscured.
  260. The window information for each window is printed in order from
  261. .I front
  262. to 
  263. .I back.
  264. Thus the first line returned is currently the
  265. .I active
  266. window.
  267. A sample line might look something like:
  268. .TS
  269. center box;
  270. c.
  271. 492 2 652 570 p6 0 o
  272. .TE
  273. Which indicates that the window at
  274. .Fr "" 492 2
  275.  is 
  276. .Fi 652
  277. pixels
  278. .I wide
  279. and
  280. .Fi 570
  281. pixels
  282. .I high,
  283. has a controlling
  284. .I pseudo tty
  285. of
  286. .I /dev/tty\fBp6\fP,
  287. is a main window,
  288. and is at least partially obscured.
  289. .IP \fBG_COORDS\fP 0.5i    Window coordinates.
  290. .br
  291. A single line is returned containing the location and size of the
  292. window in 
  293. .I display
  294. coordinates.
  295. The first pair of numbers is the position of the top left
  296. corner of the window,
  297. the second pair of numbers is the window's
  298. .I width
  299. and
  300. .I height
  301. in pixels.
  302. .IP \fBG_CURSOR\fP 0.5i
  303. .br
  304. A single line is returned containing the position of the
  305. .I character
  306. and the
  307. .I graphics
  308. cursor.
  309. The first pair of numbers is the current
  310. .I column
  311. and
  312. .I row
  313. in character coordinates
  314. and the second pair of numbers is the
  315. current
  316. .I graphics location
  317. in window coordinates.
  318. The graphics cursor location is reported in either
  319. .I absolute
  320. or
  321. .I relative
  322. window coordinates,
  323. depending upon the window coordinate mode setting.
  324. .IP \fBG_FONT\fP 0.5i    Current font information.
  325. .br
  326. A single line is returned which contains current font information.
  327. The first pair of numbers is the character
  328. .I width
  329. and
  330. .I height,
  331. in pixels.
  332. The next number is the
  333. .I "font number"
  334. as would be used in a call to
  335. .Fi m_font ,
  336. and the final field is the ascii name of the font.
  337. .IP \fBG_ID\fP 0.5i    Alternate window number.
  338. .br
  339. A single line is returned containing the window's alternate window
  340. id ( 0 for the main window), 
  341. followed by the number of windows controlled by the client 
  342. program.
  343. .IP \fBG_MOUSE\fP 0.5i    Mouse coordinates.
  344. .br
  345. The mouse position, in 
  346. .I display 
  347. coordinates are returned, followed by the most recent button transition,
  348. which is one of
  349. .Fi 1 , -1 , 2 , -2 .
  350. The numbers
  351. .Fi 1
  352. and
  353. .Fi 2
  354. represent buttons
  355. .I one
  356. and
  357. .I two
  358. on the mouse respectively.
  359. The third mouse button is reserved for system use and is not accessible to
  360. client programs.
  361. A negative value means the button was released;
  362. a positive value indicates the button is still depressed.
  363. .IP \fBG_MOUSE2\fP 0.5i    Scaled mouse coordinates .
  364. .br
  365. The mouse coordinates, in 
  366. .I window 
  367. coordinates are returned, followed by the most recent button transition,
  368. which is one of
  369. .Fi 1 , -1 , 2 , -2 .
  370. The numbers
  371. .Fi 1
  372. and
  373. .Fi 2
  374. represent buttons
  375. .I one
  376. and
  377. .I two
  378. respectively.
  379. A negative value means the button was last released;
  380. a positive value indicates the button is still depressed.
  381. If the 
  382. mouse is above
  383. or to the left of the window,
  384. a negative coordinate value is returned.
  385. In addition if the window is in
  386. .I relative
  387. coordinate mode, coordinate values between
  388. 0 and 999 will be reported only if the mouse is within the window.
  389. .IP \fBG_STATUS\fP 0.5i    Window status.
  390. .br
  391. A line is returned containing a single character,
  392. either
  393. .SM
  394. .I C_EXPOSED
  395. .LG
  396. ('e'),
  397. .SM
  398. .I C_OBSCURED
  399. .LG
  400. ('o'),
  401. or
  402. .SM
  403. .I C_ACTIVE
  404. ('a')
  405. .LG
  406. depending upon whether the window is
  407. exposed but not the
  408. .I active
  409. window,
  410. partially or totally obscured,
  411. or exposed and the
  412. .I active
  413. window.
  414. .IP \fBG_SYSTEM\fP 0.5i    System global information.
  415. .br
  416. A single line containing constant global information is returned.
  417. There are currently four fields:
  418. .RS
  419. .IP 1) 3
  420. The 
  421. .I hostname
  422. of the machine \*M is running on,
  423. as returned by 
  424. .I gethostname() .
  425. .IP 2) 3
  426. The width of the display in pixels.
  427. .IP 3) 3
  428. The height of the display
  429. in pixels.
  430. .IP 4) 3
  431. The size of the window borders in pixels.
  432. .RE
  433. .IP \fBG_TERMCAP\fP 0.5i
  434. .br
  435. A single line is returned which contains a 
  436. .I \s-2TERMCAP\s+2
  437. entry for \*M.
  438. The 
  439. .I \s-2TERMCAP\s+2
  440. entry is always the same, except for
  441. .I lines
  442. and
  443. .I columns 
  444. entries (li# and co#),
  445. which vary to reflect the current window size.
  446. .IP \fBG_TEXT\fP 0.5i
  447. .br
  448. A single line containing four integers is returned
  449. with the current text region size.
  450. The first pair of numbers is the top left corner of the text region,
  451. in
  452. .I window
  453. coordinates, the second pair of numbers is the
  454. .I width
  455. and
  456. .I height
  457. of the text region.
  458. If no text region is defined, implying the entire window is the text
  459. region, all four numbers are returned as 0 (zero).
  460. .IP \fBG_WINSIZE\fP 0.5i
  461. .br
  462. A single line is returned containing the current number of 
  463. .I columns
  464. and
  465. .I rows
  466. in the 
  467. .I "text region" .
  468. If no text region is defined, 
  469. the number of 
  470. .I lines
  471. and
  472. .I columns
  473. for the entire window is returned.
  474. .IP \fBG_FLAGS\fP 0.5i    Window flags.
  475. .br
  476. A single line is returned containing a hexadecimal number representing
  477. the current window mode bits.
  478. For color \*M three additional fields are returned which indicate the
  479. current foreground color, background color, and graphics color.
  480. For the first, or mode field, each mode is represented by a bit in the word.
  481. Many of the modes may be
  482. .I set
  483. or
  484. .I cleared
  485. with
  486. .Fr m_setmode
  487.  or
  488. .Fr m_clearmode
  489. \&.
  490. See the discussion of
  491. .Fr m_setmode
  492.  for a detailed discussion of these flags.
  493. The meaningful mode bits are:
  494. .RS
  495. .IP 0x000001 10
  496. The window is completely exposed.
  497. .IP 0x000004 10
  498. It is possible to use the system
  499. .I cut
  500. function in this window.
  501. This mode is restored by clearing the window.
  502. See
  503. .Fr m_clear
  504. \&.
  505. .IP 0x000008 10
  506. The window is
  507. .I white
  508. text on a
  509. .I black
  510. background.
  511. .IP 0x000010 10
  512. The window is in standout mode.
  513. Individual characters are printed in reverse.
  514. .IP 0x000020 10
  515. The window has died.
  516. If a client sees this flag, the window is about to go away.
  517. .IP 0x000040 10
  518. Expose the window upon shell output.
  519. The window will be automatically activated 
  520. when the next character arrives for output on the window.
  521. .IP 0x000080 10
  522. Permit a partially or totally obscured window to update.
  523. .IP 0x000100 10
  524. Do not kill the window when the original process started in it dies.
  525. This flag may only be set from the startup file.
  526. .IP 0x000200 10
  527. .I Vi
  528. mode is turned on.
  529. Pushing the right mouse button sends the characters:
  530. .TS
  531. center box;
  532. c.
  533. \fBrow\fP H \fBcolumn\fP \(br
  534. .TE
  535. where
  536. .Fi row
  537. and
  538. .Fi column
  539. specifies the character location the mouse is sitting on.
  540. This has the effect of aligning 
  541. .I vi 's
  542. notion of the current character position with the mouse.
  543. .IP 0x000800 10
  544. Keyboard input is refused when the window is active.
  545. .IP 0x001000 10
  546. Auto wrap mode is turned on.
  547. The character cursor automatically wraps to the
  548. beginning of the next row when it reaches the right margin of the text region.
  549. .IP 0x002000 10
  550. Overstrike mode is turned on.
  551. Characters are written to the window using the the current drawing mode,
  552. as set by
  553. .Fr m_func
  554. \&.
  555. .IP 0x004000 10
  556. The window is in
  557. .I absolute
  558. window coordinate mode.
  559. .IP 0x010000 10
  560. The system
  561. .I cut
  562. function snarfs complete lines only.
  563. .IP 0x020000 10
  564. The system
  565. .I cut
  566. function changes spaces to tabs whenever possible.
  567. Tabs are assumed to be every 8 spaces.
  568. .IP 0x040000 10
  569. The system
  570. .I cut
  571. function will attempt to snarf text even if errors occur.
  572. .RE
  573. .RE
  574. .Fe
  575. .Fh m_go x y
  576. .Fs m_go 4 "Move the graphics point"
  577. Move the
  578. .I "graphics point"
  579. to the window position
  580. .Fr "" x y
  581.  in the current window coordinates.
  582. .Fe
  583. .Fh m_gotext
  584. .Fs m_gotext 4 "Align the graphics point with the character cursor"
  585. The graphics point is moved to the bottom left corner of the
  586. current character cursor location.
  587. .Fe
  588. .Fh m_halfwin X Y Dwidth Dheight
  589. .Fs m_halfwin 11 "Create a window with no process connected to it"
  590. A window is created at 
  591. .Fi X , Y
  592. of size
  593. .Fi Dwidth
  594. by
  595. .Fi Dheight 
  596. with no process connected to it.
  597. \*M returns the name of the file, a
  598. .I pseudo-tty ,
  599. that must be opened in order to
  600. talk to the new window.
  601. A process which opens that 
  602. .I pseudo-tty
  603. becomes a client program, communicating with \*M and the new
  604. window in the usual fashion.
  605. For a single process managing multiple windows, use
  606. .Fr m_newwin
  607. \&.
  608. .Fe
  609. .Fh m_highlight X Y Dwidth Dheight
  610. .Fs m_highlight 13 "Highlight a portion of the display"
  611. \*M flashes the rectagular portion of the display starting at
  612. .Fi X , Y
  613. of size
  614. .Fi Dwidth
  615. by
  616. .Fi Dheight .
  617. This is an experimental capability and may be removed in the future.
  618. .Fe
  619. .Fh m_incr n
  620. .Fs m_incr 13 "Adjust the character cursor position"
  621. The current character position is adjusted to the left or 
  622. right
  623. .Fi n
  624. units
  625. in 
  626. .I window
  627. coordinates.
  628. The argument
  629. .Fi n
  630. may be signed to indicate movement to the left (if negative) or to the
  631. right (if positive or unsigned).
  632. This is useful for client programs dealing with proportionally
  633. spaced text.
  634. .Fe
  635. .Fh m_left n 
  636. .Fs m_left 13 "Move character cursor left by tenths of a character width"
  637. Move the character cursor left 
  638. .Fi n
  639. tenths of a character width.
  640. See also
  641. .Fr m_down
  642. .Fr m_right
  643. and
  644. .Fr m_up
  645. \&.
  646. .Fe
  647. .Fh m_line x1 y1 x2 y2
  648. .Fs m_line 4 "Draw a line"
  649. Draw a line in the current window from the coordinate
  650. .Fr ""  x1 y1
  651.  to the coordinate
  652. .Fr "" x2 y2
  653. \&.
  654. The line is either set,
  655. cleared or inverted as determined by the last call to
  656. .Fr m_func
  657. \&.
  658. .Fe
  659. .Fh m_linecolor mode color
  660. .Fs m_linecolor 14 "Set the graphics mode and color"
  661. The drawing mode and color is set for all graphics and bit-blt operations.
  662. The integer
  663. .Fi mode
  664. sets the drawing mode, in the manner of 
  665. .Fr m_func
  666. \&.
  667. The integer
  668. .Fi color
  669. is the index into the color lookup table for the drawing color.
  670. This command is equivalent to
  671. .Fr m_func
  672. on a monochrome display.
  673. See also 
  674. .Fr m_fcolor
  675. and
  676. .Fr m_linecolor
  677. \&.
  678. .Fe
  679. .Fh m_lineto to x1 y1 x2 y2
  680. .Fs m_lineto 4 "Draw a line on a scratchpad bitmap"
  681. Draw a line 
  682. on the scratchpad bitmap
  683. .Fi to
  684. from the coordinate
  685. .Fr ""  x1 y1
  686.  to the coordinate
  687. .Fr "" x2 y2
  688. \&.
  689. The line is either set,
  690. cleared or inverted as determined by the last call to
  691. .Fr m_func
  692. \&.
  693. .Fe
  694. .Fh m_linkmenu parent item child mode
  695. .Fs m_linkmenu 8 "Link two menus together"
  696. The menus
  697. .Fi parent
  698. and
  699. .Fi child 
  700. are linked together.
  701. When menu
  702. .Fi parent
  703. is popped up and item number
  704. .Fi item
  705. (starting from zero)
  706. is highlighted, sliding off to the right of the
  707. .Fi parent
  708. menu causes the
  709. .Fi child
  710. menu to pop up.
  711. When an item is chosen, \*M sends the
  712. concatenation of the action strings associated with each of the
  713. popped-up menus,
  714. from left to right (i.e.
  715. .Fi parent
  716. to 
  717. .Fi child  ).
  718. An arbitrary tree of menus
  719. may be created by linking successive menus together in this
  720. manner.
  721. It is up to the application to indicate on the parent
  722. menu item that sliding to the right will pop up a child menu.
  723. Typically "\fB\(->\fP" is used.
  724. .sp
  725. The
  726. .Fi mode
  727. argument,
  728. if not zero,
  729. changes the menu options
  730. for the
  731. .Fi parent
  732. menu.
  733. The flag settings,
  734. which may be
  735. .I or -ed
  736. together (except for
  737. .SM
  738. .Fi MF_CLEAR
  739. .LG
  740. ) are:
  741. .RS
  742. .IP \fBMF_SNIP\fP 0.5i
  743. .br
  744. By default, when an item in a
  745. .I child
  746. menu is selected,
  747. the values associated with the highlighted items for all of the ancestor menus
  748. are concatenated to the
  749. .I child 's
  750. item value.
  751. When
  752. .SM
  753. .Fi MF_SNIP
  754. .LG
  755. is enabled, only the string associated with the child menu is returned.
  756. .IP \fBMF_PAGE\fP 0.5i
  757. .br
  758. Normally, whenever a menu is popped-up, the previously
  759. chosen item is initially highlighted.
  760. If
  761. .SM
  762. .Fi MF_PAGE
  763. .LG
  764. is enabled, this behavior is extended to paged menus.
  765. \*M automatically pages through a set of paged
  766. menus to highlight the currently selected item.
  767. .IP \fBMF_AUTO\fP 0.5i
  768. .br
  769. \*M will automatically slide to the right and pop up
  770. a child menu
  771. to highlight the previously selected item.
  772. .IP \fBMF_CLEAR\fP 0.5i
  773. .br
  774. Clears the mode
  775. .SM
  776. .Fi MF_SNIP ,
  777. .Fi MF_PAGE ,
  778. .LG
  779. and
  780. .SM
  781. .Fi MF_AUTO .
  782. .LG
  783. .RE
  784. See also
  785. .Fr m_loadmenu
  786. ,
  787. .Fr m_selectmenu
  788. , and
  789. .Fr m_unlinkmenu
  790. \&.
  791. .Fe
  792. .Fh m_loadfont n name
  793. .Fs m_loadfont 6 "Download a font"
  794. The \*M font whose pathname is
  795. .Fi name
  796. is downloaded into
  797. \*M, replacing the font currently located at position
  798. .Fi n .
  799. Any subsequent calls to
  800. .Fr m_font
  801. will select the newly downloaded font.
  802. The font that used to be at position
  803. .Fi n
  804. remains available to windows that are already using it, 
  805. but is unavailable for future use.
  806. The format of \*M font files is described in
  807. .I font.h .
  808. .Fe
  809. .Fh m_loadmenu n string
  810. .Fs m_loadmenu 8 "Down load a menu"
  811. The text
  812. .Fi string
  813. is downloaded into menu position
  814. .Fi n .
  815. The first character of
  816. .Fi string
  817. is the 
  818. .I "menu delimiter"
  819. character.
  820. All of the menu item strings are concatenated,
  821. followed by all of their action strings.
  822. The 
  823. .I "menu delimiter"
  824. character separates all of the items and actions
  825. and terminates the list.
  826. Menus are downloaded at once, as a single entity.
  827. The macro
  828. .Fr m_selectmenu
  829.  is used to have the menu pop-up when a mouse button is pushed.
  830. .Fe
  831. .Fh m_move column row
  832. .Fs m_move 3 "Move the character cursor"
  833. The character cursor is moved to character location
  834. .Fi column , row
  835. , where
  836. .Fr "" 0 0
  837.  is the top left character position on the window, or on
  838. the current text region if one is specified
  839. (see
  840. .Fr m_textregion
  841. ).
  842. .Fe
  843. .Fh m_movecursor x y
  844. .Fs m_movecursor 13 "Move the character cursor to an arbitrary coordinate location"
  845. Move the character cursor to the position
  846. .Fr "" x y
  847.  in window coordinates.
  848. This permits characters to be placed at arbitrary pixel locations,
  849. not just on character boundaries.
  850. Use
  851. .Fr m_move
  852. to move to a
  853. .Fi row
  854. and
  855. .Fi column
  856. position.
  857. .Fe
  858. .Fh m_movemouse X Y
  859. .Fs m_movemouse 6 "Move the mouse position"
  860. Move the mouse to position
  861. .Fr "" X Y
  862.  in
  863. .I display
  864. coordinates.
  865. Excessive use of this macro is anti-social.
  866. .Fe
  867. .Fh m_moveprint x y string
  868. .Fs m_moveprint 13 "Print a string at a given location"
  869. Print
  870. .Fi string
  871. at the window coordinate
  872. .Fr "" x y
  873. \&.
  874. This macro is equivalent to calling
  875. .Fr m_movecursor
  876.  followed by
  877. .Fr m_printstr
  878. \&.
  879. .Fe
  880. .Fh m_movewindow X Y
  881. .Fs m_movewindow 6 "Move a window"
  882. Move the window to the display location
  883. .Fr "" X Y 
  884.  in 
  885. .I display
  886. coordinates.
  887. If the new position is too close to the edge of the display for the window
  888. to fit entirely at the requested location,
  889. the right edge or bottom of the window is truncated at the boundary of the
  890. display.
  891. .Fe
  892. .Fh m_newwin X Y Dwide Dhigh
  893. .Fs m_newwin 11 "Make a new window"
  894. An alternate window is created with the size and location indicated.
  895. The arguments
  896. .Fi X
  897. and
  898. .Fi Y
  899. specify the upper left corner of the window,
  900. .Fi Dwide
  901. and
  902. .Fi Dhigh
  903. the size.
  904. If the window is to be to fit at the requested location,
  905. its size is truncated appropriately.
  906. \*M will return a window number if the creation is successful, or
  907. .I newline
  908. if the window could not be created.
  909. The newly created window is made the
  910. .I active 
  911. window.
  912. The macro
  913. .Fr m_selectwin
  914. is used to enable writing on the newly created window.
  915. .Fe
  916.